/* 
 * File:   FicheroLocalProductos.cpp
 * Author: jesus
 * 
 * Created on 10 de junio de 2010, 19:30
 */

#include "FicheroLocalProductos.h"


FicheroLocalProductos::FicheroLocalProductos(){
    string nombFich="fich.dat";

    fich=new Fichero(nombFich);
    CargarProductos(nombFich);

}
FicheroLocalProductos::FicheroLocalProductos(const FicheroLocalProductos& orig){

}
bool FicheroLocalProductos::CargarProductos(string &nombreFich){

}
bool FicheroLocalProductos::GuardarProductos(string &nombreFich){

    
    int i;
    long pos;
    
    Producto *p;
    p=new Producto();
    
    deque<Producto *>::iterator it=productos.begin();
    //for(it=productos.begin();it!=productos.end();it++){}
    for(i=0;i<productos.size(); it++){
        pos=fich.insertarElementoFinal(it);
        indx.insertarElementoIndice(it,pos);
    }

}
bool FicheroLocalProductos::AniadirProducto(Producto &p){
    long pos;
    productos.push_back(p);
    numTotal++;
    
    pos=fich.insertarElementoFinal(p);
    indx.insertarElementoIndice(p,pos);
}
Producto & FicheroLocalProductos::BuscarProducto(int codigo){
    int i;
    bool encontrado=false;

    Producto *p;
    p=new Producto();
    Producto &retProducto=*p;

    deque<Producto *>::iterator it=productos.begin();
    //for(it=productos.begin();it!=productos.end();it++){}
    for(i=0;i<productos.size() || encontrado==false; it++){
        if((*it)->retCodigo()==codigo){
            p=(*it);
            encontrado=true;
        }
    }
    return retProducto;
}
bool FicheroLocalProductos::EliminarProducto(Producto *p){
    long retPos;

    retPos=indx.eliminar(p);
    fich->eliminarElemento(retPos);
}